The advent of technology for storing images on digital media has increased the need for a method to protect against piracy. Images stored on prior forms of media (e.g. VHS, Beta, audiotapes, etc.) are inherently degraded when copied. Images stored on digitally encoded media can be copied with no degradation; therefore, perfect copies of copies of copies, etc. can be made.
The introduction of Digital Versatile Discs (DVD) containing movies has created increased incentives for both casual and professional unauthorized copying. At the movie industry's urging, technology has been put in place to protect against simple duplication of DVD disks using equipment available to unsophisticated consumers. This is similar to the protection that exists which prevents one from duplicating a VCR tape by connecting together two commercially available VCRs.
While such protection mechanisms protect against some types of copying, a personal computer connected to a DVD device present a much more complicated problem. Open architecture devices such as personal computers reproduce the signals in the “clear” and such devices have many entry points, which can be used to duplicate material once it is in the “clear”. Some embodiments of the invention use digital watermarks to address the above described problem. The invention also has other applications.
The invention provides a method of embedding auxiliary data in coefficients generated for a compressed data stream. The method receives coefficients in a data stream in which the coefficients are divided into blocks. It changes the value of selected coefficients to embed multi-bit message data in the coefficients. The process of changing the coefficients includes controlling changes to the selected coefficients from different blocks so that the relationship of the selected coefficients from the different blocks satisfy an embedding rule. One embedding rule causes the embedded data to form a pattern across the blocks. Another rule causes coefficients of blocks to have a desired phase relationship. Another rule enforces entropy and/or bit rate constraints onto the data stream.
Another aspect of the invention is a method of embedding auxiliary data in coefficients generated for a compressed data stream. This method receives coefficients in the data stream and changes the value of selected coefficients to embed multi-bit message data in the coefficients. The changing of coefficients includes controlling changes to entropy codes representing the selected coefficients, and these changes are made so as to satisfy an established bit rate constraint.
This document also describes methods and related systems for embedding and detecting watermarks in compressed data formats, such as JPEG or MPEG formatted images as well as other types of image signals. One method receives transform coefficients of the image, and changes the value of selected coefficients to embed watermark data in the coefficients. The changing of the coefficients is controlled such that it both embeds the data and forms an orientation signal that facilitates determination of rotation or scale of the image.
For example, to facilitate the detection of digital watermarks, one can insert a watermark signal that forms an orientation signal called a grid. The grid can be used to determine orientation and scale. In one embodiment described in this document, the data signal and the grid signal are integrated into a single watermark signal in such a manner that the visual artifacts introduced by the watermark are minimized.
Another aspect of this disclosure is a variation of embedding a watermark in an image. This method receives message bits to be embedded in the image, receives transform coefficients of the image, and maps the message bits to selected transform coefficients. The method changes the value of selected coefficients to embed data in the coefficients. The characteristics of the image are used to control the change of transform coefficients to embed the watermark, and a bit rate control is used to modify the change of transform coefficients to embed the watermark according to a bit rate limit.
In applications such as DVD storage of content, an important factor that needs be considered is the bit rate of the bit stream. There are disadvantages if introduction of a watermark into a bit stream changes the bit rate. For example if images are going to be recorded on a medium such as a DVD disc, increasing the number of bits in the bit stream will decrease the number of images that can be recorded on a single disk. It is known that, in general, adding a watermark to a stream of images will increase the number of bits in the bit stream. An embodiment provides a method and apparatus, which preserves the bit rate even though watermarks are introduced into the images.
JPEG and MPEG data compression techniques transform images utilizing a discrete cosine transform (DCT) which produces a matrix of DCT coefficients. These coefficients are arranged into blocks (e.g., into 8 by 8 blocks of coefficients). The blocks of DCT coefficients are in turn arranged into macro blocks (e.g., into 16 by 16 arrays containing four 8 by 8 blocks). In one embodiment of a digital watermark encoder, selected DCT coefficients in each block are slightly increased or slightly decreased in response to a watermark signal. The changes in the blocks that comprise each macro block are done in a coordinated manner so that the phase of the watermark signal is preserved across the block boundaries. By preserving the phase across block boundaries, a detectable grid is formed which can be used as an orientation and scaling grid.
An embodiment of the watermark encoder also maintains the bit rate of the image signal. The bit rate of the signal is preserved by maintaining a count (referred to as the cumulative change count) that represents the amount that the bit rate has been increased by changes in coefficients less the amount that the bit rate has been decreased by changes in the coefficients. If at any time the cumulative change count exceeds a pre-established limit, coefficient changes that decrease the cumulative change count continue; however, coefficient changes that increase the cumulative change count are suspended. The suspension of coefficient changes that increase the cumulative change count continues until the cumulative change count falls below the pre-established limit. The above described process can be described as selectively changing the intensity of a watermark signal in a bit stream so as to prevent the entropy of the combined signal from exceeding a pre-established limit.
Further features will become apparent with reference to the following detailed description and accompanying drawings.